import 'dart:io';

import 'package:device_info_plus/device_info_plus.dart';
import 'package:permission_handler/permission_handler.dart';

class PermissionUtils {
  /// 检查并请求文件存储权限
  static Future<bool> checkImageSavePermission() async {
    if (Platform.isAndroid) {
      final androidInfo = await DeviceInfoPlugin().androidInfo;
      if (androidInfo.version.sdkInt >= 33) {
        // Android 13+ 需要媒体权限
        final status = await Permission.photos.request();
        return status.isGranted;
      } else if (androidInfo.version.sdkInt >= 29) {
        // Android 10~12 推荐通过 MediaStore API 保存，无需权限
        return true;
      } else {
        // Android 9 及以下需要旧版存储权限
        final status = await Permission.storage.request();
        return status.isGranted;
      }
    } else if (Platform.isIOS) {
      // iOS 需要相册写入权限
      final status = await Permission.photosAddOnly.request();
      return status == PermissionStatus.granted;
    }
    return false;
  }

  static Future<bool> checkFileSavePermission() async {
    if (Platform.isAndroid) {
      // Android 11+ 推荐使用应用私有目录，无需权限
      final androidInfo = await DeviceInfoPlugin().androidInfo;
      if (androidInfo.version.sdkInt >= 30) {
        return true; // 私有目录无需权限
      } else {
        // Android 10 及以下需要旧版存储权限
        final status = await Permission.storage.request();
        return status.isGranted;
      }
    } else if (Platform.isIOS) {
      // iOS 保存到应用目录无需权限
      return true;
    }
    return false;
  }

}